types of singularities